package com.example.lvsuo.controller.cxg;


import com.example.lvsuo.entity.cxg.AdmNotice;
import com.example.lvsuo.entity.cxg.vo.AdmNoticeVo;
import com.example.lvsuo.modal.Result;
import com.example.lvsuo.service.cxg.IAdmNoticeService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * <p>
 * 这个表是管理公告通知表,在行政模块,发布人以及发布时间 发布内容都在都在操作里面查看里面 前端控制器
 * </p>
 *
 * @author 心心念念
 * @since 2021-03-30
 */
@RestController
@RequestMapping("/admNotice")
public class AdmNoticeController {

    @Autowired
    IAdmNoticeService iAdmNoticeService;

    /**
     * 查询公告通知  开始通知和通知结束之间
     * @param admNoticeVo
     * @return
     */
    @GetMapping
    public Result getAdmNotice(AdmNoticeVo admNoticeVo){
        PageHelper.startPage(admNoticeVo.getPageCur(),admNoticeVo.getPageSize());

        PageInfo pageInfo = new PageInfo(iAdmNoticeService.getAdmNotice(admNoticeVo));

        return Result.back("ok","20000",pageInfo);
    }


    @GetMapping("/{id}")
    public  Result getAdmNoticeByid(@PathVariable String id){
        AdmNoticeVo admNoticeVo = iAdmNoticeService.getAdmNoticeByid(id);
        return Result.back("ok","20000",admNoticeVo);
    }


    @GetMapping(params={"type=getAll"})
    public Result getAdmNoticeAll(AdmNoticeVo admNoticeVo){


        PageHelper.startPage(admNoticeVo.getPageCur(),admNoticeVo.getPageSize());

        PageInfo pageInfo = new PageInfo(iAdmNoticeService.getAdmNoticeAll(admNoticeVo));

        return Result.back("ok","20000",pageInfo);
    }


    @DeleteMapping("/{id}")
    public Result delAdmNotice(@PathVariable String id){
        iAdmNoticeService.delAdmNotice(id);
        return  Result.back("ok","20000");
    }

    /**
     * 添加
     * @param admNotice
     * @return
     */
    @PostMapping
    public Result addAdmNotice(@RequestBody AdmNotice admNotice){
        iAdmNoticeService.addAdmNotice(admNotice);
        return Result.back("ok","20000");
    }

    /**
     * 修改
     * @param admNotice
     * @return
     */
    @PutMapping
    public Result updateAdmNotice(@RequestBody AdmNotice admNotice){
        iAdmNoticeService.updateById(admNotice);
        return Result.back("ok","20000");
    }


}

